Computer graphics and design applications often require the production of curved shapes both for the design of physical objects and for artistic illustrations. Of course, modern computerized illustration systems can capture hand-drawn curves from a human user, but in many instances the curves must follow specific constraints for the design of a physical object. For example, many roads include straight linear sections and curved sections that follow an arc shape, such as a portion of the outer circumference of a circle. In another example, the designs of highways and railway lines often employ clothoids, which are also known to the art as “Euler spirals” or “Cornu spirals”, that provide curves with a constantly changing curvature along the length of the curve that are useful in, for example, on-ramps and off-ramps in highways that enable vehicles to experience a smooth transition when turning from a first direction to a second direction along the highway.
While various types of curves are well-known to the art, in computerized graphics systems the combinations of various curve types into complex shapes can still present challenges in computational graphics systems. In particular, computerized graphics systems often use well-known constructs such as splines to represent curves in computer graphics. However, combining straight lines, arcs, and clothoids into splines presents challenges, given the need to switch curve types on the fly for different point configurations. Consequently, improvements to computer graphics systems that enable generation of complex curves in an automated manner would be beneficial.